/*
 * @Author      : ZhouQiJun
 * @Date        : 2025-07-25 18:24:04
 * @LastEditors : ZhouQiJun
 * @LastEditTime: 2025-08-10 16:39:29
 * @Description : 图层工厂接口
 */
import type { ILayerOptions } from '../types'
import type { Layer } from 'ol/layer'
import type { Source } from 'ol/source'

/**
 * 图层工厂，多个平台图层创建都需要实现此接口
 *
 * @author    ZhouQiJun
 * @version   0.1.0
 */
export default interface ILayerFactory {
  /**
   * 根据一个（或多个）配置创建一个（或多个）图层对象。
   * >
   * 注意：创建图层为异步创建。
   * @param options 图层配置（支持多个）
   */
  // eslint-disable-next-line no-unused-vars
  create(options: ILayerOptions | ILayerOptions[]): Layer<Source> | Layer<Source>[]
}
